<?php

namespace addons\travel\listener\order;

use addons\sum\exception\Exception;
use addons\travel\model\Goods as GoodsModel;


/**
 * 订单创建
 */
class Create
{
    // 订单创建前
    public function orderCreateBefore(&$params) {
        $goods_or_home=$params['goods_or_home'];
        $sale=1;//不管是订房还是订车。每个订单消耗的库存都是1。订房就算是入住3晚$goods_num=3.也是占用1间房的库存
        $is_stock=$goods_or_home['is_stock'];
        if($is_stock==1){//是否使用库存
            $stock=$goods_or_home['stock'];
            if($sale>$stock){
                throw new \Exception('商品库存不足');
            }
            //如果用redis的话，在付完款的时候真正减库存。这里直接在下单的时候减
            GoodsModel::where('id',$goods_or_home['id'])->setDec('stock',$sale);
        }
    }


    // 订单创建后
    public function orderCreateAfter(&$params)
    {
    }

}
